/*
File: COptiontsState.h
Author: Corey Morehead
Date: April 04, 2013
Purpose: State to handle Options
*/

#ifndef CREDITSTATE_H
#define CREDITSTATE_H

#include "../source/IGameState.h"
#include "../source/SGD_Handle.h"

//Forward declarations
class IAudio;
class IGraphics;
class IInput;
class CWorld;
class IGameStateMachine;

class CreditState : public IGameState
{
public:
	//Singlton
	static IGameState*	GetInstance (void);
	virtual void		DeleteInstance (void);

	//SetUp
	virtual bool		Enter (void);
	virtual bool		Exit (void);

	//Frame update
	virtual bool		Input (float fElapsedTime);
	virtual bool		Update (float fElapsedTime);
	virtual bool		Render (float fElapsedTime);

private:
	//Singleton
	static CreditState*	s_Instance;

	CreditState (void);
	virtual ~CreditState ( );
	CreditState (const CreditState& object);
	CreditState& operator= (const CreditState& object);

	//Wrappers
	IAudio*			m_pAudio;
	IGraphics*		m_pGraphics;
	IInput*			m_pInput;
	CWorld*			m_pWorld;
	HTexture		m_hTexture;
};
#endif